The present invention relates to a programmable unit having an on-chip debugging support (OCDS) module, and to a method for using an external debugger to debug the programmable unit equipped with the OCDS module.
The programmable units in question are, for example, microprocessors, microcontrollers or the like; these have been known for many years in widely differing embodiments, and require no further explanation.
The OCDS modules are the so-called on-chip debugging support modules, which are now integrated in virtually all relatively modern programmable units. Such devices allow external debuggers to access programmable units and to influence them in various ways during the xe2x80x9cnormalxe2x80x9d operation of the relevant programmable units. This is at present used primarily in such a way that the relevant programmable units are automatically stopped on reaching break conditions which can be predetermined, and/or in such a way that read and/or write accesses are carried out deliberately to the internal and external registers, memories and/or other components of the relevant programmable units and/or of the systems containing them.
The external debuggers are devices that have been known for a long time and in a wide range of embodiments for the purpose of searching for software and/or hardware faults that are present in the relevant programmable units or the systems containing them.
The OCDS modules make the external debuggers (whose configuration is relatively simple) very powerful tools, by which even programmable units whose configuration is very complex and/or which operate very fast can be monitored and checked efficiently and comprehensively.
However, this is unfortunately not always the case, in all situations. For example, it is problematic if the programmable unit is or must be reset immediately before or during a debugging process owing to internal and/or external events and/or commands. Debugging processes which have to be carried out or are currently being carried out can then be interfered with or interrupted, thus making it harder, or entirely impossible, to find specific faults in a comprehensible manner.
It is accordingly an object of the invention to provide a programmable unit, and a method for debugging such a unit which overcome the above-mentioned disadvantages of the prior art devices and methods of this general type, in which the debugging is not interfered with or interrupted by the programmable unit being reset before or during the debugging process.
With the foregoing and other objects in view there is provided, in accordance with the invention, a programmable unit configuration, containing a programmable unit having an on-chip debugging support (OCDS) module; and a reset management device connected to the OCDS module, the reset management device determining if the OCDS module should or should not also be reset when the programmable unit is reset.
The invention accordingly provides that the programmable unit has a reset management device by which it is possible to determine whether the OCDS module should or should not also be reset when the programmable unit is reset, and that when required after resetting of the programmable unit, the external debugger initiates resetting of the programmable unit without resetting the OCDS module.
If the resetting of the programmable unit, which may be required, is carried out before or during the debugging of the programmable unit, such that the OCDS module and, possibly, also an interface provided between the OCDS module and the external debugger is not reset in consequence, then the debugging of the programmable unit can be continued without being influenced in any way by the resetting of this unit.
Furthermore, the processes that take place after the resetting of the programmable unit can then also be monitored from the start, without any limitation and without any gaps.
It is extremely simple to provide the capability for the OCDS module to be reset only in certain situations with the programmable unit, rather than on all occasions. In the example under consideration, where the resetting of the programmable unit is not intended to interfere with or interrupt an existing or ongoing debugging process, all that has to be provided for this purpose is for the resetting of the OCDS module to be suppressed when and for as long as an external debugger is connected to the programmable unit and/or when and for as long as the external debugger which is connected to the programmable unit signals that the OCDS module should not be reset.
Other features which are considered as characteristic for the invention are set forth in the appended claims.
Although the invention is illustrated and described herein as embodied in a programmable unit, and a method for debugging such a unit, it is nevertheless not intended to be limited to the details shown, since various modifications and structural changes may be made therein without departing from the spirit of the invention and within the scope and range of equivalents of the claims.
The construction and method of operation of the invention, however, together with additional objects and advantages thereof will be best understood from the following description of specific embodiments when read in connection with the accompanying drawings.